<?php

/*------------------------------------------------
*
*   Explay Engine Content Management System.
*   Copyright © 2008 Golovdinov Alexander.
*
*-------------------------------------------------
*
*   Oficial site: wwww.alex-home.spb.ru/explay.html
*   Contact e-mail: golovdinov@gmail.com
*
*   GNU General Public License original source:
*   http://www.gnu.org/licenses/gpl-3.0.html
*
------------------------------------------------*/

/*if ($EXPLAY != "work") {
	header ("Location: ../../index.php");
	exit;
}*/

$id = $_GET['id'];


// Управление блоками
if (isset($_GET['delete'])) {
	$db->query ("DELETE FROM ".DB_PEREFIX."_blocks WHERE block_id = ".$_GET['delete']);
	site_message ('Блок удален');
}



if (isset($_GET['hide'])) {
	$db->query ("UPDATE ".DB_PEREFIX."_blocks SET block_visible = 'hide' WHERE block_id = ".$_GET['hide']);
	site_message ('Блок спрятан');
}



if (isset($_GET['visible'])) {
	$db->query ("UPDATE ".DB_PEREFIX."_blocks SET block_visible = 'visible' WHERE block_id = ".$_GET['visible']);
	site_message ("Блок активизирован");
}



if (isset($_GET['save_position'])) {
	$get_all = $db->query ("SELECT block_id FROM ".DB_PEREFIX."_blocks");
	
	while (list($id) = $db->fetch_row ($get_all)) {
		if (isset ($_POST['block_pos'.$id] ))
			$db->query ("UPDATE ".DB_PEREFIX."_blocks SET block_pos = '".$_POST['block_pos'.$id]."' WHERE block_id = $id");
	}
		
	site_message ('Позиции сохраненны');
}


if (isset($_GET['align'])) {
	$select_b = $db->query ("SELECT * FROM ".DB_PEREFIX."_blocks WHERE block_id = ".$_GET['align']);
	
	$bl = $db->fetch_array ($select_b);
	
	($bl['block_align'] == 'right')
		? $align = 'left'
		: $align = 'right'; 
	
	$change = $db->query ("UPDATE ".DB_PEREFIX."_blocks SET block_align = '$align' WHERE block_id = ".$_GET['align']);
	
	site_message ('Блок перемещен');
	
}


// Добавление нового блока
if (isset($_GET['save'])) {
	$name = $_POST['name'];
	$header = $_POST['header'];
	$pos = $_POST['pos'];
	$group = $_POST['group'];
	$visible = $_POST['visible'];
	$file = $_POST['file'];
	$html = $_POST['html'];
	$align = $_POST['align'];
	
	$string = '';
	if (isset($_POST['modules_all'])) $string = 'all';
	else {
		if (isset($_POST['start_page'])) $string = 'start,';
		
		$get_modules = $db->query ("SELECT module_name FROM ".DB_PEREFIX."_modules");
		
		while (list($mname) = $db->fetch_row ($get_modules)) {
			if (isset($_POST['module_'.$mname])) $string .= $mname.',';
		}
	}
	
	if ($string == '') $string = 'all';
	
	if ($name != '' && $pos != '' && $header != '') {
		$db->query ("INSERT INTO ".DB_PEREFIX."_blocks VALUES (0, '$name', '$header', '$html', '$file', '$pos', '$group', '$align', '$visible', '$string')");
		site_message ('Блок добавлен');
	}
	else site_error ("Не заполнено поле<br><a href='javascript:history.back();'><b>Назад</b></a>");
}

// Сохранение блока
if (isset($_GET['edit_save'])) {
	$tid = $_POST['the_id'];
	$name = $_POST['name'];
	$header = $_POST['header'];
	$pos = $_POST['pos'];
	$group = $_POST['group'];
	$visible = $_POST['visible'];
	$file = $_POST['file'];
	$html = $_POST['html'];
	$align = $_POST['align'];
	
	$string = '';
	if (isset($_POST['modules_all'])) $string = 'all';
	else {
		if (isset($_POST['start_page'])) $string = 'start_page,';
		$get_modules = $db->query ("SELECT module_name FROM ".DB_PEREFIX."_modules");
		while (list($mname) = $db->fetch_row ($get_modules)) {
			if (isset($_POST['module_'.$mname])) $string .= $mname.',';
		}
	}
	if ($string == '') $string = 'all';
	
	if ($name != '' && $pos != '' && $header != '' && $tid != '') {
		$db->query ("UPDATE ".DB_PEREFIX."_blocks SET
									block_name = '$name',
									block_header = '$header',
									block_body = '$html',
									block_file = '$file',
									block_pos = '$pos',
									block_group = '$group',
									block_align = '$align',
									block_visible = '$visible',
									block_pages = '$string' WHERE block_id = '$tid'");
		
		site_message ('Блок сохранен');
	}
	else site_error ("Не заполнено поле<br><a href='javascript:history.back();'><b>Назад</b></a>");
}



// Форма для нового блока

if (isset($_GET['add'])) {
	//print '<ul id="top_nav"><li class="sel"><a href="admin.php">Панель администратора</a></li><li><a href="admin.php?do=blocks">Управление блоками</a></li><li>Добавление нового блока</li></ul>';
	
	past_path (array(
		array ('admin.php?do=blocks', 'Управление блоками'),
		array ('', 'Новый блок')
	));
	
	print "\n<script>document.title='Добавление блока - ".$SITE['site_name']."';</script>";
	
	$position = $db->num_rows ($db->query ("SELECT block_id FROM ".DB_PEREFIX."_blocks"));
	
	add_block ('do=blocks&act=add&save', '', $_POST['name'], $_POST['header'], 'include/blocks/', $_POST['html'], 'all', 'visible', $position, 'left', '');
	
	come_back ('управлению блоками', 'admin.php?do=blocks');
}


// Форма редактирования блока

elseif (isset($_GET['edit'])) {
	//print '<ul id="top_nav"><li class="sel"><a href="admin.php">Панель администратора</a></li><li><a href="admin.php?do=blocks">Управление блоками</a></li><li>Изменение блока</li></ul>';
	
	past_path (array(
		array ('admin.php?do=blocks', 'Управление блоками'),
		array ('', 'Изменение блока')
	));
	
	simple_table ("[ <a href='admin.php?do=blocks&act=add'>добавить блок</a> ]");
	print "\n<script>document.title='Исправление блока - ".$SITE['site_name']."';</script>";
	
	$select = $db->query ("SELECT * FROM ".DB_PEREFIX."_blocks WHERE block_id = ".$_GET['edit']);
	
	$block = $db->fetch_array ($select);
	add_block ('do=blocks&edit_save', $_GET['edit'], $block['block_name'], $block['block_header'], $block['block_file'], $block['block_body'], $block['block_group'], $block['block_visible'], $block['block_pos'], $block['block_align'], $block['block_pages']);
	
	come_back ("управлению блоками", "admin.php?do=blocks");
}


// Вывод списка блоков
else {
	//print '<ul id="top_nav"><li class="sel"><a href="admin.php">Панель администратора</a></li><li>Управление блоками</li></ul>';
	
	past_path (array( array ('', 'Управление блоками') ));
	
	simple_table ("<span class=\"link_add\"><a href='admin.php?do=blocks&add'>добавить блок</a></span>");
	print "\n<script>document.title='Управление блоками - ".$SITE['site_name']."';</script>";
	
	$gblock = $db->query ("SELECT * FROM ".DB_PEREFIX."_blocks ORDER BY block_pos");
	
	$block_tr = '';
	$color = '';
	while ($block = $db->fetch_array ($gblock)) {
		($block['block_visible'] == 'visible') ? $target = 'Видим' : $target = 'Невидим';
	
		($block['block_group'] == 'all') ? $target = 'Все' : $target = 'Зарегист.';
		
		($block['block_align'] == 'left')
			? $align = 'Лево &nbsp;<a href="admin.php?do=blocks&align='.$block['block_id'].'"><img src="images/m_right.gif" alt="Направо"></a>'
			: $align = 'Право <a href="admin.php?do=blocks&align='.$block['block_id'].'"><img src="images/m_left.gif" alt="Налево"></a>';
		
		($block['block_group'] == 'all')? $group = 'Все' : $group = 'Зарегистр.';
		
		if ($block['block_visible'] == 'visible') {
			$visible = '<a href="admin.php?do=blocks&hide='.$block['block_id'].'">спрятать</a>';
			$status = '<img src="images/work_on.gif" align="absmiddle" title="Блок активен"> ';
			$color = '';
		} else {
			$visible = '<a href="admin.php?do=blocks&visible='.$block['block_id'].'">показать</a>';
			$status = '<img src="images/work_off.gif" align="absmiddle" title="Блок неактивен"> ';
			$color = _DARK_TR_;
		}
			
			
		$block_tr .= "\r\n<tr bgcolor=\"$color\"><td class=\"ad_tr\">$status".$block['block_header']."</a></td>".
			"<td class=\"ad_tr\">$group</td>".
			"<td class=\"ad_tr\" align=\"center\">$align</td>".
			"<td class=\"ad_tr\">$visible</td>".
			"<td class=\"ad_tr\" align=\"center\"><input type=\"text\" size=\"2\" name=\"block_pos".$block['block_id']."\" value=\"".$block['block_pos']."\" /></td>".
			"<td class=\"ad_tr\" align=\"center\"><a href=\"admin.php?do=blocks&edit=".$block['block_id']."\" align=\"center\"><img src=\"images/edit.gif\" alt=\"Редактировать\" /></a><a href='javascript:delete_(\"admin.php?do=blocks&delete=".$block['block_id']."\");'><img src=\"images/cut.gif\" alt=\"Удалить\" /></a></td></tr>";
	}
	
	$block_table = "\r\n<form action=\"admin.php?do=blocks&save_position\" method=\"POST\">
<table class=\"body_table\" width=\"100%\" cellspacing=\"0\" cellpadding=\"3\">
	<tr>
		<td class=\"top_header_name\">Название</td>
		<td class=\"top_header_name\">Группа</td>
		<td class=\"top_header_name\">Положение</td>
		<td class=\"top_header_name\">Статус</td>
		<td class=\"top_header_name\">Позиция</td>
		<td class=\"top_header_name\">Опции</td>
	</tr>$block_tr
</table>
<p align=\"right\"><input type=\"submit\" value=\"Сохранить позиции\" /></p>
</form>
<script>function delete_ (url_) { if (window.confirm('Вы действительно хотите удалить блок?') == true) document.location.href = url_; }</script>";
		
		past_table ('Управление блоками', $block_table);
	
}


come_back ('панели администратора', 'admin.php');

function add_block ($act, $id, $name, $title, $file, $html, $group, $visible, $pos, $align, $pages) {
	global $db;
	
	if ($group == 'all') $sel1 = 'selected';
	if ($group == 'register') $sel2 = 'selected';
	if ($visible == 'visible') $sel_1 = 'selected';
	if ($visible == 'hide') $sel_2 = 'selected';
	if ($align == 'left') $sel__1 = 'selected';
	if ($align == 'right') $sel__2 = 'selected'; 
	if ($pages == 'all') $all = 'checked';
	
	$pages_arr = array ();
	$pages = explode (',', $pages);
	foreach ($pages as $page) {
		if ($page != '') $pages_arr[$page] = 1;
	}
	
	if (isset($pages_arr["start_page"])) $start = 'checked';
	
	$all_pages = "\n\t\t<div style=\"display:inline;float:left; width:220px;\"><input type=\"checkbox\" name=\"modules_all\" value=\"1\" $all /> все</div>
			<div style=\"display:inline;float:left; width:220px;\"><input type=\"checkbox\" name=\"start_page\" value=\"1\" $start /> главная</div>";

	$get_modules = $db->query ("SELECT module_name, module_header FROM ".DB_PEREFIX."_modules");
	while (list($mname, $mheader) = $db->fetch_row ($get_modules)) {
		(isset($pages_arr[$mname])) ? $slc = 'checked' : $slc = '';
		$all_pages .= "\n\t\t<div style=\"display:inline;float:left; width:220px;\"><input type=\"checkbox\" name=\"module_$mname\" value=\"1\" $slc /> $mheader</div>";
	}
	
	
	$form = "\n\n<form style=\"margin:0px\" action=\"admin.php?$act\" method=\"post\" name=\"record\">
<input type=\"hidden\" name=\"the_id\" value=\"$id\">
<table class=\"main_text\" width=\"100%\" cellspacing=\"0\" cellpadding=\"3\">
	<tr>
		<td width=\"25%\">Название:</td>
		<td><input type=\"text\" name=\"name\" style=\"width:200px\" value=\"$name\"> <a href=\"javascript:void(0)\" onmouseover=\"show_tip(this,'Название должно содержать только латинские буквы.');\" onmouseout=\"close_tip();\">?</a></td>
	</tr>
	<tr>
		<td>Заголовок:</td>
		<td><input type=\"text\" name=\"header\" style=\"width:200px\" value=\"$title\"></td>
	</tr>
	<tr>
		<td>Главный файл:</td>
		<td><input type=\"text\" name=\"file\" style=\"width:200px\" value=\"$file\"> <a href=\"javascript:void(0)\" onmouseover=\"show_tip(this,'Если вы не используете файл, то данное поле необходимо оставить пустым.');\" onmouseout=\"close_tip();\">?</a></td>
	</tr>
	<tr>
		<td>Позиция:</td>
		<td><input type=\"text\" name=\"pos\" style=\"width:80px\" value=\"$pos\"> <a href='javascript:void(0)' onmouseover=\"show_tip(this,'Данное поле заполняется и изменяется автоматически.');\" onmouseout=\"close_tip();\">?</a></td>
	</tr>
	<tr>
		<td valign=\"top\" width=\"25%\">HTML - код:</td>
		<td>
			<textarea name=\"html\" style=\"width:400px\" rows=\"13\">$html</textarea><br>
			<a href='javascript:void(0);' onclick='javascript:document.record.html.rows=document.record.html.rows+10'>увеличить</a> |
			<a href='javascript:void(0);' onclick='javascript:document.record.html.rows=document.record.html.rows-10'>уменьшить</a>
		</td>
	</tr>
	<tr>
		<td>Группа:</td>
		<td><select name=\"group\"><option value=\"all\" $sel1>Все</option><option value=\"register\" $sel2>Зарегистрированные</option></select></td>
	</tr>
	<tr>
		<td>Видим.:</td>
		<td><select name=\"visible\"><option value=\"visible\" $sel_1>Видим</option><option value=\"hide\" $sel_2>Скрыт</option></select></td>
	</tr>
	<tr>
		<td>Сторона:</td>
		<td><select name=\"align\"><option value=\"left\" $sel__1>Левая</option><option value=\"right\" $sel__2>Правая</option></select></td>
	</tr>
	<tr>
		<td valign=\"top\">Страницы (модули):</td>
		<td>$all_pages</td>
	</tr>
	<tr>
		<td colspan=\"2\"><span class=\"important_button\"><input style=\"width:240px\" type=\"submit\" name=\"post\" value=\"Сохранить\"></span> <input onclick=\"javascript:window.open('upload.php', '', 'width=500 height=300 scrollbars');\" type=\"button\" value=\"Загрузить что-нибудь\"></td>
	</tr>
</table>
</form>";
	past_table ('Добавление/Изменение блока', $form);
}
